<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/xhtml;charset=utf-8" http-equiv="Content-Type"/>
<meta content="IE=9" http-equiv="X-UA-Compatible"/>
<meta content="Doxygen 1.8.13" name="generator"/>
<title>OpenCV: cv::ml::ANN_MLP Class Reference</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script src="../../jquery.js" type="text/javascript"></script>
<script src="../../dynsections.js" type="text/javascript"></script>
<script src="../../tutorial-utils.js" type="text/javascript"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script src="../../search/searchdata.js" type="text/javascript"></script>
<script src="../../search/search.js" type="text/javascript"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js" type="text/javascript"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css"/>
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellpadding="0" cellspacing="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
    <span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script src="../../menudata.js" type="text/javascript"></script>
<script src="../../menu.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow" onkeydown="return searchBox.OnSearchSelectKey(event)" onmouseout="return searchBox.OnSearchSelectHide()" onmouseover="return searchBox.OnSearchSelectShow()">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe frameborder="0" id="MSearchResults" name="MSearchResults" src="javascript:void(0)">
</iframe>
</div>
<div class="navpath" id="nav-path">
  <ul>
<li class="navelem"><a class="el" href="../../d2/d75/namespacecv.html">cv</a></li><li class="navelem"><a class="el" href="../../d8/df1/namespacecv_1_1ml.html">ml</a></li><li class="navelem"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html">ANN_MLP</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> |
<a href="#pub-methods">Public Member Functions</a> |
<a href="#pub-static-methods">Static Public Member Functions</a> |
<a href="../../d5/d35/classcv_1_1ml_1_1ANN__MLP-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">cv::ml::ANN_MLP Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="../../dd/ded/group__ml.html">Machine Learning</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<p>Artificial Neural Networks - Multi-Layer Perceptrons.  
 <a href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#details">More...</a></p>
<p><code>#include &lt;opencv2/ml.hpp&gt;</code></p>
<div class="dynheader">
Inheritance diagram for cv::ml::ANN_MLP:</div>
<div class="dyncontent">
 <div class="center">
  <img alt="" src="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.png" usemap="#cv::ml::ANN_5FMLP_map"/>
  <map id="cv::ml::ANN_5FMLP_map" name="cv::ml::ANN_5FMLP_map">
<area alt="cv::ml::StatModel" coords="0,56,110,80" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html" shape="rect" title="Base class for statistical models in OpenCV ML. "/>
<area alt="cv::Algorithm" coords="0,0,110,24" href="../../d3/d46/classcv_1_1Algorithm.html" shape="rect" title="This is a base class for all more or less complex algorithms in OpenCV. "/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ade71470ec8814021728f8b31b09773b0"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0">ActivationFunctions</a> { <br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0a5cafa9aa38d3f60f8238e867a4a98e0a">IDENTITY</a> = 0, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0a90410002f1e243d35dca234f859f270e">SIGMOID_SYM</a> = 1, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0ae3d886f16c8018eebf26d8d75a90dd7e">GAUSSIAN</a> = 2, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0ae206e366e80a947e72df5c149fd74c42">RELU</a> = 3, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0a193fdf7b38189212e1f7d2584c5ebaf6">LEAKYRELU</a> = 4
<br/>
 }</td></tr>
<tr class="separator:ade71470ec8814021728f8b31b09773b0"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afb51e414f22dd69f281a569145ccfad7"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7">TrainFlags</a> { <br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7a5c9cae15b89d51980f6a972d4b622822">UPDATE_WEIGHTS</a> = 1, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7affd560496866c5b17785b5ac8ba63dc3">NO_INPUT_SCALE</a> = 2, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7a38194e2d5d9e28b05e95b4671bf1a7b2">NO_OUTPUT_SCALE</a> = 4
<br/>
 }</td></tr>
<tr class="separator:afb51e414f22dd69f281a569145ccfad7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a012b34ee340b5d4d11b6844e12816181"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181">TrainingMethods</a> { <br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aaca348d78617e21b3fad5cc4c27e7889">BACKPROP</a> =0, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aded0d171ce651e6701a3426e192e04c9">RPROP</a> = 1, 
<br/>
  <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181a1c1f898fdf7406d1f114ddfd8e06ae4e">ANNEAL</a> = 2
<br/>
 }</td></tr>
<tr class="separator:a012b34ee340b5d4d11b6844e12816181"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_types_classcv_1_1ml_1_1StatModel"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classcv_1_1ml_1_1StatModel')"><img alt="-" src="../../closed.png"/> Public Types inherited from <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html">cv::ml::StatModel</a></td></tr>
<tr class="memitem:af1ea864e1c19796e6264ebb3950c0b9a inherit pub_types_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af1ea864e1c19796e6264ebb3950c0b9a">Flags</a> { <br/>
  <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af1ea864e1c19796e6264ebb3950c0b9aa397fde9eaadd4efb07af6a7fbacea6cd">UPDATE_MODEL</a> = 1, 
<br/>
  <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af1ea864e1c19796e6264ebb3950c0b9aa639a8ea2b61c2bf03f87cf4c4a5bd824">RAW_OUTPUT</a> =1, 
<br/>
  <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af1ea864e1c19796e6264ebb3950c0b9aae860ef9fda481bb6730e8794009c99b5">COMPRESSED_INPUT</a> =2, 
<br/>
  <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af1ea864e1c19796e6264ebb3950c0b9aa0cdfa2b3b9c5947d9a80bcca7eac485f">PREPROCESSED_INPUT</a> =4
<br/>
 }</td></tr>
<tr class="separator:af1ea864e1c19796e6264ebb3950c0b9a inherit pub_types_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa1098cc57b2e764c536bf75d3c21684c"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#aa1098cc57b2e764c536bf75d3c21684c">getAnnealCoolingRatio</a> () const =0</td></tr>
<tr class="separator:aa1098cc57b2e764c536bf75d3c21684c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a73b332c637b3f41bc673366d81218867"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a73b332c637b3f41bc673366d81218867">getAnnealFinalT</a> () const =0</td></tr>
<tr class="separator:a73b332c637b3f41bc673366d81218867"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a972ecb3136c1db4377bdb310b9ba3245"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a972ecb3136c1db4377bdb310b9ba3245">getAnnealInitialT</a> () const =0</td></tr>
<tr class="separator:a972ecb3136c1db4377bdb310b9ba3245"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a910e7f7180b02367af5f794c6535c774"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a910e7f7180b02367af5f794c6535c774">getAnnealItePerStep</a> () const =0</td></tr>
<tr class="separator:a910e7f7180b02367af5f794c6535c774"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8a239f6fc2f3af77b5b8af14b85db6c2"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a8a239f6fc2f3af77b5b8af14b85db6c2">getBackpropMomentumScale</a> () const =0</td></tr>
<tr class="separator:a8a239f6fc2f3af77b5b8af14b85db6c2"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3f3118577f227f7f6ccc9d8c9a0496a4"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a3f3118577f227f7f6ccc9d8c9a0496a4">getBackpropWeightScale</a> () const =0</td></tr>
<tr class="separator:a3f3118577f227f7f6ccc9d8c9a0496a4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6ddeca856c988d91ec7b7209e324e555"><td align="right" class="memItemLeft" valign="top">virtual <a class="el" href="../../d3/d63/classcv_1_1Mat.html">cv::Mat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a6ddeca856c988d91ec7b7209e324e555">getLayerSizes</a> () const =0</td></tr>
<tr class="separator:a6ddeca856c988d91ec7b7209e324e555"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec1c80229df0d4552c0a922dd2caa935"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#aec1c80229df0d4552c0a922dd2caa935">getRpropDW0</a> () const =0</td></tr>
<tr class="separator:aec1c80229df0d4552c0a922dd2caa935"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a73f174d3f24d5715a4db57b23cdc066c"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a73f174d3f24d5715a4db57b23cdc066c">getRpropDWMax</a> () const =0</td></tr>
<tr class="separator:a73f174d3f24d5715a4db57b23cdc066c"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4c56d0ab068e59e8d7d1ad42a2ce386f"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4c56d0ab068e59e8d7d1ad42a2ce386f">getRpropDWMin</a> () const =0</td></tr>
<tr class="separator:a4c56d0ab068e59e8d7d1ad42a2ce386f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a9db260e1b71d8865d1dd9856ea1b5124"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a9db260e1b71d8865d1dd9856ea1b5124">getRpropDWMinus</a> () const =0</td></tr>
<tr class="separator:a9db260e1b71d8865d1dd9856ea1b5124"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a71261559e73c1f307310bc5ae6491743"><td align="right" class="memItemLeft" valign="top">virtual double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a71261559e73c1f307310bc5ae6491743">getRpropDWPlus</a> () const =0</td></tr>
<tr class="separator:a71261559e73c1f307310bc5ae6491743"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1d38045b36f3f1363573ad0fd18b82ae"><td align="right" class="memItemLeft" valign="top">virtual <a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a1d38045b36f3f1363573ad0fd18b82ae">getTermCriteria</a> () const =0</td></tr>
<tr class="separator:a1d38045b36f3f1363573ad0fd18b82ae"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a97308c9dc08c75b5b82a4efd3b6118a6"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a97308c9dc08c75b5b82a4efd3b6118a6">getTrainMethod</a> () const =0</td></tr>
<tr class="separator:a97308c9dc08c75b5b82a4efd3b6118a6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a36b5016e3d389d84c0c5863bb8d5b8b9"><td align="right" class="memItemLeft" valign="top">virtual <a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a36b5016e3d389d84c0c5863bb8d5b8b9">getWeights</a> (int layerIdx) const =0</td></tr>
<tr class="separator:a36b5016e3d389d84c0c5863bb8d5b8b9"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a16998f97db903c1c652e68f342240524"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a16998f97db903c1c652e68f342240524">setActivationFunction</a> (int type, double param1=0, double param2=0)=0</td></tr>
<tr class="separator:a16998f97db903c1c652e68f342240524"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a5c1b54d05fc3ac1b167752ed452c0a5e"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a5c1b54d05fc3ac1b167752ed452c0a5e">setAnnealCoolingRatio</a> (double val)=0</td></tr>
<tr class="separator:a5c1b54d05fc3ac1b167752ed452c0a5e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a6d7a3a6206a52f1d80268920361ae1b8"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a6d7a3a6206a52f1d80268920361ae1b8">setAnnealEnergyRNG</a> (const <a class="el" href="../../d1/dd6/classcv_1_1RNG.html">RNG</a> &amp;rng)=0</td></tr>
<tr class="memdesc:a6d7a3a6206a52f1d80268920361ae1b8"><td class="mdescLeft"> </td><td class="mdescRight">Set/initialize anneal <a class="el" href="../../d1/dd6/classcv_1_1RNG.html" title="Random Number Generator. ">RNG</a>.  <a href="#a6d7a3a6206a52f1d80268920361ae1b8">More...</a><br/></td></tr>
<tr class="separator:a6d7a3a6206a52f1d80268920361ae1b8"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa6a0eeeb1725bed54b00882bf535715d"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#aa6a0eeeb1725bed54b00882bf535715d">setAnnealFinalT</a> (double val)=0</td></tr>
<tr class="separator:aa6a0eeeb1725bed54b00882bf535715d"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4fda01324f3eb715f4c289adb386d875"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4fda01324f3eb715f4c289adb386d875">setAnnealInitialT</a> (double val)=0</td></tr>
<tr class="separator:a4fda01324f3eb715f4c289adb386d875"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4ec199a72ea3cf8ea6b35a78afb86414"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4ec199a72ea3cf8ea6b35a78afb86414">setAnnealItePerStep</a> (int val)=0</td></tr>
<tr class="separator:a4ec199a72ea3cf8ea6b35a78afb86414"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a59fd3f49aba9418a96d44998deb68d00"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a59fd3f49aba9418a96d44998deb68d00">setBackpropMomentumScale</a> (double val)=0</td></tr>
<tr class="separator:a59fd3f49aba9418a96d44998deb68d00"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a80a03e3e259441438f7ae3312104161f"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a80a03e3e259441438f7ae3312104161f">setBackpropWeightScale</a> (double val)=0</td></tr>
<tr class="separator:a80a03e3e259441438f7ae3312104161f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a79731c3fd3168e28eb3c3bba7a2caa94"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a79731c3fd3168e28eb3c3bba7a2caa94">setLayerSizes</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> _layer_sizes)=0</td></tr>
<tr class="separator:a79731c3fd3168e28eb3c3bba7a2caa94"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ae32498b59f9b8ce5737006ad49ad863e"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ae32498b59f9b8ce5737006ad49ad863e">setRpropDW0</a> (double val)=0</td></tr>
<tr class="separator:ae32498b59f9b8ce5737006ad49ad863e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a09d58b45d950729587577de3a7ed7142"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a09d58b45d950729587577de3a7ed7142">setRpropDWMax</a> (double val)=0</td></tr>
<tr class="separator:a09d58b45d950729587577de3a7ed7142"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2d1c40a8eae6c7ad25554593a11d1e80"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a2d1c40a8eae6c7ad25554593a11d1e80">setRpropDWMin</a> (double val)=0</td></tr>
<tr class="separator:a2d1c40a8eae6c7ad25554593a11d1e80"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a65350ee4fbb0e521e3d53dbd3101dadd"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a65350ee4fbb0e521e3d53dbd3101dadd">setRpropDWMinus</a> (double val)=0</td></tr>
<tr class="separator:a65350ee4fbb0e521e3d53dbd3101dadd"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a54b72c0446330effe6a003929d4aecbe"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a54b72c0446330effe6a003929d4aecbe">setRpropDWPlus</a> (double val)=0</td></tr>
<tr class="separator:a54b72c0446330effe6a003929d4aecbe"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ab6310aa2b5894ceb4e72008e62316182"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ab6310aa2b5894ceb4e72008e62316182">setTermCriteria</a> (<a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> val)=0</td></tr>
<tr class="separator:ab6310aa2b5894ceb4e72008e62316182"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a4be093cfd2e743ee2f41e34e50cf3a54"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4be093cfd2e743ee2f41e34e50cf3a54">setTrainMethod</a> (int method, double param1=0, double param2=0)=0</td></tr>
<tr class="separator:a4be093cfd2e743ee2f41e34e50cf3a54"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classcv_1_1ml_1_1StatModel"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcv_1_1ml_1_1StatModel')"><img alt="-" src="../../closed.png"/> Public Member Functions inherited from <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html">cv::ml::StatModel</a></td></tr>
<tr class="memitem:aa6a71b1ee5b7fa0b07b55e77106cda13 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#aa6a71b1ee5b7fa0b07b55e77106cda13">calcError</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../dc/d32/classcv_1_1ml_1_1TrainData.html">TrainData</a> &gt; &amp;data, bool test, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> resp) const</td></tr>
<tr class="memdesc:aa6a71b1ee5b7fa0b07b55e77106cda13 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Computes error on the training or test dataset.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#aa6a71b1ee5b7fa0b07b55e77106cda13">More...</a><br/></td></tr>
<tr class="separator:aa6a71b1ee5b7fa0b07b55e77106cda13 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a80afceed1710367d32d6232374162b97 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a80afceed1710367d32d6232374162b97">empty</a> () const <a class="el" href="../../db/de0/group__core__utils.html#ga4d89d63e402ef9ddc48e18e21180fe4a">CV_OVERRIDE</a></td></tr>
<tr class="memdesc:a80afceed1710367d32d6232374162b97 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html" title="This is a base class for all more or less complex algorithms in OpenCV. ">Algorithm</a> is empty (e.g. in the very beginning or after unsuccessful read.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a80afceed1710367d32d6232374162b97">More...</a><br/></td></tr>
<tr class="separator:a80afceed1710367d32d6232374162b97 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a783b92c436c7a2978e2d4bbb3cfb6e0c inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a783b92c436c7a2978e2d4bbb3cfb6e0c">getVarCount</a> () const =0</td></tr>
<tr class="memdesc:a783b92c436c7a2978e2d4bbb3cfb6e0c inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Returns the number of variables in training samples.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a783b92c436c7a2978e2d4bbb3cfb6e0c">More...</a><br/></td></tr>
<tr class="separator:a783b92c436c7a2978e2d4bbb3cfb6e0c inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1121a835feedefdcdb8624966567aec6 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a1121a835feedefdcdb8624966567aec6">isClassifier</a> () const =0</td></tr>
<tr class="memdesc:a1121a835feedefdcdb8624966567aec6 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the model is classifier.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a1121a835feedefdcdb8624966567aec6">More...</a><br/></td></tr>
<tr class="separator:a1121a835feedefdcdb8624966567aec6 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aab380b59eb30b50254ef1b804774c4d8 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#aab380b59eb30b50254ef1b804774c4d8">isTrained</a> () const =0</td></tr>
<tr class="memdesc:aab380b59eb30b50254ef1b804774c4d8 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the model is trained.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#aab380b59eb30b50254ef1b804774c4d8">More...</a><br/></td></tr>
<tr class="separator:aab380b59eb30b50254ef1b804774c4d8 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1a7e49e1febd10392452727498771bc1 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual float </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a1a7e49e1febd10392452727498771bc1">predict</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> samples, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> results=<a class="el" href="../../dc/d84/group__core__basic.html#gad9287b23bba2fed753b36ef561ae7346">noArray</a>(), int flags=0) const =0</td></tr>
<tr class="memdesc:a1a7e49e1febd10392452727498771bc1 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Predicts response(s) for the provided sample(s)  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#a1a7e49e1febd10392452727498771bc1">More...</a><br/></td></tr>
<tr class="separator:a1a7e49e1febd10392452727498771bc1 inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af96a0e04f1677a835cc25263c7db3c0c inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af96a0e04f1677a835cc25263c7db3c0c">train</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../dc/d32/classcv_1_1ml_1_1TrainData.html">TrainData</a> &gt; &amp;trainData, int flags=0)</td></tr>
<tr class="memdesc:af96a0e04f1677a835cc25263c7db3c0c inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Trains the statistical model.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af96a0e04f1677a835cc25263c7db3c0c">More...</a><br/></td></tr>
<tr class="separator:af96a0e04f1677a835cc25263c7db3c0c inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeb25a75f438864fb25af182fb4b1b96f inherit pub_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memItemLeft" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#aeb25a75f438864fb25af182fb4b1b96f">train</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> samples, int layout, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> responses)</td></tr>
<tr class="memdesc:aeb25a75f438864fb25af182fb4b1b96f inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Trains the statistical model.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#aeb25a75f438864fb25af182fb4b1b96f">More...</a><br/></td></tr>
<tr class="separator:aeb25a75f438864fb25af182fb4b1b96f inherit pub_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classcv_1_1Algorithm')"><img alt="-" src="../../closed.png"/> Public Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a827c8b2781ed17574805f373e6054ff1 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a827c8b2781ed17574805f373e6054ff1">Algorithm</a> ()</td></tr>
<tr class="separator:a827c8b2781ed17574805f373e6054ff1 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8ae826127fa0f1f8d10a24841bd376f8 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a8ae826127fa0f1f8d10a24841bd376f8">~Algorithm</a> ()</td></tr>
<tr class="separator:a8ae826127fa0f1f8d10a24841bd376f8 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#aec9c965448e4dc851d7cacd3abd84cd1">clear</a> ()</td></tr>
<tr class="memdesc:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Clears the algorithm state.  <a href="../../d3/d46/classcv_1_1Algorithm.html#aec9c965448e4dc851d7cacd3abd84cd1">More...</a><br/></td></tr>
<tr class="separator:aec9c965448e4dc851d7cacd3abd84cd1 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a286fc82744ccab3d248aca44524266a9 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a286fc82744ccab3d248aca44524266a9">getDefaultName</a> () const</td></tr>
<tr class="separator:a286fc82744ccab3d248aca44524266a9 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#aef2ad3f4145bd6e8c3664eb1c4b5e1e6">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;fn)</td></tr>
<tr class="memdesc:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Reads algorithm parameters from a file storage.  <a href="../../d3/d46/classcv_1_1Algorithm.html#aef2ad3f4145bd6e8c3664eb1c4b5e1e6">More...</a><br/></td></tr>
<tr class="separator:aef2ad3f4145bd6e8c3664eb1c4b5e1e6 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a0a880744bc4e3f45711444571df47d67 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a0a880744bc4e3f45711444571df47d67">save</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename) const</td></tr>
<tr class="separator:a0a880744bc4e3f45711444571df47d67 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a1f8ad7b8add515077367fb9949a174d2">write</a> (<a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &amp;fs) const</td></tr>
<tr class="memdesc:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Stores algorithm parameters in a file storage.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a1f8ad7b8add515077367fb9949a174d2">More...</a><br/></td></tr>
<tr class="separator:a1f8ad7b8add515077367fb9949a174d2 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a763a62d1b03042eef7d7fc3ac6c87c79">write</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &gt; &amp;fs, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;name=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>()) const</td></tr>
<tr class="memdesc:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">simplified API for language bindings This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a763a62d1b03042eef7d7fc3ac6c87c79">More...</a><br/></td></tr>
<tr class="separator:a763a62d1b03042eef7d7fc3ac6c87c79 inherit pub_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a1c78150f5117029c53d6ad3cdd61af4b"><td align="right" class="memItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html">ANN_MLP</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a1c78150f5117029c53d6ad3cdd61af4b">create</a> ()</td></tr>
<tr class="memdesc:a1c78150f5117029c53d6ad3cdd61af4b"><td class="mdescLeft"> </td><td class="mdescRight">Creates empty model.  <a href="#a1c78150f5117029c53d6ad3cdd61af4b">More...</a><br/></td></tr>
<tr class="separator:a1c78150f5117029c53d6ad3cdd61af4b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac24cc2e2fc5cd1dd74fd5da31886fbb7"><td align="right" class="memItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html">ANN_MLP</a> &gt; </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ac24cc2e2fc5cd1dd74fd5da31886fbb7">load</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filepath)</td></tr>
<tr class="memdesc:ac24cc2e2fc5cd1dd74fd5da31886fbb7"><td class="mdescLeft"> </td><td class="mdescRight">Loads and creates a serialized ANN from a file.  <a href="#ac24cc2e2fc5cd1dd74fd5da31886fbb7">More...</a><br/></td></tr>
<tr class="separator:ac24cc2e2fc5cd1dd74fd5da31886fbb7"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_static_methods_classcv_1_1ml_1_1StatModel"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classcv_1_1ml_1_1StatModel')"><img alt="-" src="../../closed.png"/> Static Public Member Functions inherited from <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html">cv::ml::StatModel</a></td></tr>
<tr class="memitem:af93a21ea5866cd305936a03742f69af8 inherit pub_static_methods_classcv_1_1ml_1_1StatModel"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:af93a21ea5866cd305936a03742f69af8 inherit pub_static_methods_classcv_1_1ml_1_1StatModel"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af93a21ea5866cd305936a03742f69af8">train</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../dc/d32/classcv_1_1ml_1_1TrainData.html">TrainData</a> &gt; &amp;data, int flags=0)</td></tr>
<tr class="memdesc:af93a21ea5866cd305936a03742f69af8 inherit pub_static_methods_classcv_1_1ml_1_1StatModel"><td class="mdescLeft"> </td><td class="mdescRight">Create and train model with default parameters.  <a href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af93a21ea5866cd305936a03742f69af8">More...</a><br/></td></tr>
<tr class="separator:af93a21ea5866cd305936a03742f69af8 inherit pub_static_methods_classcv_1_1ml_1_1StatModel"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="inherit_header pub_static_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classcv_1_1Algorithm')"><img alt="-" src="../../closed.png"/> Static Public Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b">load</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;filename, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;objname=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>())</td></tr>
<tr class="memdesc:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Loads algorithm from the file.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b">More...</a><br/></td></tr>
<tr class="separator:a623841c33b58ea9c4847da04607e067b inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a3ba305a10d02479c13cf7d169c321547">loadFromString</a> (const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;strModel, const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp;objname=<a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a>())</td></tr>
<tr class="memdesc:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Loads algorithm from a String.  <a href="../../d3/d46/classcv_1_1Algorithm.html#a3ba305a10d02479c13cf7d169c321547">More...</a><br/></td></tr>
<tr class="separator:a3ba305a10d02479c13cf7d169c321547 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memTemplParams" colspan="2">template&lt;typename _Tp &gt; </td></tr>
<tr class="memitem:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td align="right" class="memTemplItemLeft" valign="top">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; _Tp &gt; </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#ad8c591bacb34c485f5b7a250c314fc53">read</a> (const <a class="el" href="../../de/dd9/classcv_1_1FileNode.html">FileNode</a> &amp;fn)</td></tr>
<tr class="memdesc:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="mdescLeft"> </td><td class="mdescRight">Reads algorithm from the file node.  <a href="../../d3/d46/classcv_1_1Algorithm.html#ad8c591bacb34c485f5b7a250c314fc53">More...</a><br/></td></tr>
<tr class="separator:ad8c591bacb34c485f5b7a250c314fc53 inherit pub_static_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pro_methods_classcv_1_1Algorithm"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classcv_1_1Algorithm')"><img alt="-" src="../../closed.png"/> Protected Member Functions inherited from <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html">cv::Algorithm</a></td></tr>
<tr class="memitem:a68eeca71617474ad3d4561786f0289d2 inherit pro_methods_classcv_1_1Algorithm"><td align="right" class="memItemLeft" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a68eeca71617474ad3d4561786f0289d2">writeFormat</a> (<a class="el" href="../../da/d56/classcv_1_1FileStorage.html">FileStorage</a> &amp;fs) const</td></tr>
<tr class="separator:a68eeca71617474ad3d4561786f0289d2 inherit pro_methods_classcv_1_1Algorithm"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a id="details" name="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Artificial Neural Networks - Multi-Layer Perceptrons. </p>
<p>Unlike many other models in ML that are constructed and trained at once, in the MLP model these steps are separated. First, a network with the specified topology is created using the non-default constructor or the method <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a1c78150f5117029c53d6ad3cdd61af4b" title="Creates empty model. ">ANN_MLP::create</a>. All the weights are set to zeros. Then, the network is trained using a set of input and output vectors. The training procedure can be repeated more than once, that is, the weights can be adjusted based on the new training data.</p>
<p>Additional flags for <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af96a0e04f1677a835cc25263c7db3c0c" title="Trains the statistical model. ">StatModel::train</a> are available: <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7">ANN_MLP::TrainFlags</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../dc/dd6/ml_intro.html#ml_intro_ann">Neural Networks </a> </dd></dl>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="ade71470ec8814021728f8b31b09773b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade71470ec8814021728f8b31b09773b0">◆ </a></span>ActivationFunctions</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0">cv::ml::ANN_MLP::ActivationFunctions</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>possible activation functions </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ade71470ec8814021728f8b31b09773b0a5cafa9aa38d3f60f8238e867a4a98e0a"></a>IDENTITY </td><td class="fielddoc"><p>Identity function: \(f(x)=x\) </p>
</td></tr>
<tr><td class="fieldname"><a id="ade71470ec8814021728f8b31b09773b0a90410002f1e243d35dca234f859f270e"></a>SIGMOID_SYM </td><td class="fielddoc"><p>Symmetrical sigmoid: \(f(x)=\beta*(1-e^{-\alpha x})/(1+e^{-\alpha x})\) </p><dl class="section note"><dt>Note</dt><dd>If you are using the default sigmoid activation function with the default parameter values fparam1=0 and fparam2=0 then the function used is y = 1.7159*tanh(2/3 * x), so the output will range from [-1.7159, 1.7159], instead of [0,1]. </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="ade71470ec8814021728f8b31b09773b0ae3d886f16c8018eebf26d8d75a90dd7e"></a>GAUSSIAN </td><td class="fielddoc"><p>Gaussian function: \(f(x)=\beta e^{-\alpha x*x}\) </p>
</td></tr>
<tr><td class="fieldname"><a id="ade71470ec8814021728f8b31b09773b0ae206e366e80a947e72df5c149fd74c42"></a>RELU </td><td class="fielddoc"><p>ReLU function: \(f(x)=max(0,x)\) </p>
</td></tr>
<tr><td class="fieldname"><a id="ade71470ec8814021728f8b31b09773b0a193fdf7b38189212e1f7d2584c5ebaf6"></a>LEAKYRELU </td><td class="fielddoc"><p>Leaky ReLU function: for x&gt;0 \(f(x)=x \) and x&lt;=0 \(f(x)=\alpha x \) </p>
</td></tr>
</table>
</div>
</div>
<a id="afb51e414f22dd69f281a569145ccfad7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb51e414f22dd69f281a569145ccfad7">◆ </a></span>TrainFlags</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7">cv::ml::ANN_MLP::TrainFlags</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Train options </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="afb51e414f22dd69f281a569145ccfad7a5c9cae15b89d51980f6a972d4b622822"></a>UPDATE_WEIGHTS </td><td class="fielddoc"><p>Update the network weights, rather than compute them from scratch. In the latter case the weights are initialized using the Nguyen-Widrow algorithm. </p>
</td></tr>
<tr><td class="fieldname"><a id="afb51e414f22dd69f281a569145ccfad7affd560496866c5b17785b5ac8ba63dc3"></a>NO_INPUT_SCALE </td><td class="fielddoc"><p>Do not normalize the input vectors. If this flag is not set, the training algorithm normalizes each input feature independently, shifting its mean value to 0 and making the standard deviation equal to 1. If the network is assumed to be updated frequently, the new training data could be much different from original one. In this case, you should take care of proper normalization. </p>
</td></tr>
<tr><td class="fieldname"><a id="afb51e414f22dd69f281a569145ccfad7a38194e2d5d9e28b05e95b4671bf1a7b2"></a>NO_OUTPUT_SCALE </td><td class="fielddoc"><p>Do not normalize the output vectors. If the flag is not set, the training algorithm normalizes each output feature independently, by transforming it to the certain range depending on the used activation function. </p>
</td></tr>
</table>
</div>
</div>
<a id="a012b34ee340b5d4d11b6844e12816181"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a012b34ee340b5d4d11b6844e12816181">◆ </a></span>TrainingMethods</h2>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181">cv::ml::ANN_MLP::TrainingMethods</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Available training methods </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a012b34ee340b5d4d11b6844e12816181aaca348d78617e21b3fad5cc4c27e7889"></a>BACKPROP </td><td class="fielddoc"><p>The back-propagation algorithm. </p>
</td></tr>
<tr><td class="fieldname"><a id="a012b34ee340b5d4d11b6844e12816181aded0d171ce651e6701a3426e192e04c9"></a>RPROP </td><td class="fielddoc"><p>The RPROP algorithm. See <a class="el" href="../../d0/de3/citelist.html#CITEREF_RPROP93">[204]</a> for details. </p>
</td></tr>
<tr><td class="fieldname"><a id="a012b34ee340b5d4d11b6844e12816181a1c1f898fdf7406d1f114ddfd8e06ae4e"></a>ANNEAL </td><td class="fielddoc"><p>The simulated annealing algorithm. See <a class="el" href="../../d0/de3/citelist.html#CITEREF_Kirkpatrick83">[129]</a> for details. </p>
</td></tr>
</table>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a1c78150f5117029c53d6ad3cdd61af4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c78150f5117029c53d6ad3cdd61af4b">◆ </a></span>create()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html">ANN_MLP</a>&gt; cv::ml::ANN_MLP::create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml.ANN_MLP_create(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Creates empty model. </p>
<p>Use <a class="el" href="../../db/d7d/classcv_1_1ml_1_1StatModel.html#af96a0e04f1677a835cc25263c7db3c0c" title="Trains the statistical model. ">StatModel::train</a> to train the model, <a class="el" href="../../d3/d46/classcv_1_1Algorithm.html#a623841c33b58ea9c4847da04607e067b" title="Loads algorithm from the file. ">Algorithm::load</a>&lt;<a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html" title="Artificial Neural Networks - Multi-Layer Perceptrons. ">ANN_MLP</a>&gt;(filename) to load the pre-trained model. Note that the train method has optional flags: <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#afb51e414f22dd69f281a569145ccfad7">ANN_MLP::TrainFlags</a>. </p>
</div>
</div>
<a id="aa1098cc57b2e764c536bf75d3c21684c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1098cc57b2e764c536bf75d3c21684c">◆ </a></span>getAnnealCoolingRatio()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getAnnealCoolingRatio </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getAnnealCoolingRatio(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>ANNEAL: Update cooling ratio. It must be &gt;0 and less than 1. Default value is 0.95. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a5c1b54d05fc3ac1b167752ed452c0a5e">setAnnealCoolingRatio</a> </dd></dl>
</div>
</div>
<a id="a73b332c637b3f41bc673366d81218867"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73b332c637b3f41bc673366d81218867">◆ </a></span>getAnnealFinalT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getAnnealFinalT </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getAnnealFinalT(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>ANNEAL: Update final temperature. It must be &gt;=0 and less than initialT. Default value is 0.1. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#aa6a0eeeb1725bed54b00882bf535715d">setAnnealFinalT</a> </dd></dl>
</div>
</div>
<a id="a972ecb3136c1db4377bdb310b9ba3245"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a972ecb3136c1db4377bdb310b9ba3245">◆ </a></span>getAnnealInitialT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getAnnealInitialT </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getAnnealInitialT(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>ANNEAL: Update initial temperature. It must be &gt;=0. Default value is 10. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4fda01324f3eb715f4c289adb386d875">setAnnealInitialT</a> </dd></dl>
</div>
</div>
<a id="a910e7f7180b02367af5f794c6535c774"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a910e7f7180b02367af5f794c6535c774">◆ </a></span>getAnnealItePerStep()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::ml::ANN_MLP::getAnnealItePerStep </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getAnnealItePerStep(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>ANNEAL: Update iteration per step. It must be &gt;0 . Default value is 10. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4ec199a72ea3cf8ea6b35a78afb86414">setAnnealItePerStep</a> </dd></dl>
</div>
</div>
<a id="a8a239f6fc2f3af77b5b8af14b85db6c2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a239f6fc2f3af77b5b8af14b85db6c2">◆ </a></span>getBackpropMomentumScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getBackpropMomentumScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getBackpropMomentumScale(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>BPROP: Strength of the momentum term (the difference between weights on the 2 previous iterations). This parameter provides some inertia to smooth the random fluctuations of the weights. It can vary from 0 (the feature is disabled) to 1 and beyond. The value 0.1 or so is good enough. Default value is 0.1. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a59fd3f49aba9418a96d44998deb68d00">setBackpropMomentumScale</a> </dd></dl>
</div>
</div>
<a id="a3f3118577f227f7f6ccc9d8c9a0496a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f3118577f227f7f6ccc9d8c9a0496a4">◆ </a></span>getBackpropWeightScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getBackpropWeightScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getBackpropWeightScale(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>BPROP: Strength of the weight gradient term. The recommended value is about 0.1. Default value is 0.1. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a80a03e3e259441438f7ae3312104161f">setBackpropWeightScale</a> </dd></dl>
</div>
</div>
<a id="a6ddeca856c988d91ec7b7209e324e555"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ddeca856c988d91ec7b7209e324e555">◆ </a></span>getLayerSizes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="../../d3/d63/classcv_1_1Mat.html">cv::Mat</a> cv::ml::ANN_MLP::getLayerSizes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getLayerSizes(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Integer vector specifying the number of neurons in each layer including the input and output layers. The very first element specifies the number of elements in the input layer. The last element - number of elements in the output layer. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a79731c3fd3168e28eb3c3bba7a2caa94">setLayerSizes</a> </dd></dl>
</div>
</div>
<a id="aec1c80229df0d4552c0a922dd2caa935"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec1c80229df0d4552c0a922dd2caa935">◆ </a></span>getRpropDW0()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getRpropDW0 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getRpropDW0(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>RPROP: Initial value \(\Delta_0\) of update-values \(\Delta_{ij}\). Default value is 0.1. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ae32498b59f9b8ce5737006ad49ad863e">setRpropDW0</a> </dd></dl>
</div>
</div>
<a id="a73f174d3f24d5715a4db57b23cdc066c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73f174d3f24d5715a4db57b23cdc066c">◆ </a></span>getRpropDWMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getRpropDWMax </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getRpropDWMax(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>RPROP: Update-values upper limit \(\Delta_{max}\). It must be &gt;1. Default value is 50. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a09d58b45d950729587577de3a7ed7142">setRpropDWMax</a> </dd></dl>
</div>
</div>
<a id="a4c56d0ab068e59e8d7d1ad42a2ce386f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c56d0ab068e59e8d7d1ad42a2ce386f">◆ </a></span>getRpropDWMin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getRpropDWMin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getRpropDWMin(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>RPROP: Update-values lower limit \(\Delta_{min}\). It must be positive. Default value is FLT_EPSILON. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a2d1c40a8eae6c7ad25554593a11d1e80">setRpropDWMin</a> </dd></dl>
</div>
</div>
<a id="a9db260e1b71d8865d1dd9856ea1b5124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9db260e1b71d8865d1dd9856ea1b5124">◆ </a></span>getRpropDWMinus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getRpropDWMinus </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getRpropDWMinus(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>RPROP: Decrease factor \(\eta^-\). It must be &lt;1. Default value is 0.5. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a65350ee4fbb0e521e3d53dbd3101dadd">setRpropDWMinus</a> </dd></dl>
</div>
</div>
<a id="a71261559e73c1f307310bc5ae6491743"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a71261559e73c1f307310bc5ae6491743">◆ </a></span>getRpropDWPlus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual double cv::ml::ANN_MLP::getRpropDWPlus </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getRpropDWPlus(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>RPROP: Increase factor \(\eta^+\). It must be &gt;1. Default value is 1.2. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a54b72c0446330effe6a003929d4aecbe">setRpropDWPlus</a> </dd></dl>
</div>
</div>
<a id="a1d38045b36f3f1363573ad0fd18b82ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d38045b36f3f1363573ad0fd18b82ae">◆ </a></span>getTermCriteria()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> cv::ml::ANN_MLP::getTermCriteria </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getTermCriteria(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Termination criteria of the training algorithm. You can specify the maximum number of iterations (maxCount) and/or how much the error could change between the iterations to make the algorithm continue (epsilon). Default value is <a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html" title="The class defining termination criteria for iterative algorithms. ">TermCriteria</a>(<a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html#a56fecdc291ccaba8aad27d67ccf72c57a56ca2bc5cd06345060a1c1c66a8fc06e" title="ditto ">TermCriteria::MAX_ITER</a> + <a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html#a56fecdc291ccaba8aad27d67ccf72c57a857609e73e7028e638d2ea649f3b45d5" title="the desired accuracy or change in parameters at which the iterative algorithm stops ...">TermCriteria::EPS</a>, 1000, 0.01). </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ab6310aa2b5894ceb4e72008e62316182">setTermCriteria</a> </dd></dl>
</div>
</div>
<a id="a97308c9dc08c75b5b82a4efd3b6118a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97308c9dc08c75b5b82a4efd3b6118a6">◆ </a></span>getTrainMethod()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int cv::ml::ANN_MLP::getTrainMethod </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getTrainMethod(</td><td class="paramname"></td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Returns current training method </p>
</div>
</div>
<a id="a36b5016e3d389d84c0c5863bb8d5b8b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a36b5016e3d389d84c0c5863bb8d5b8b9">◆ </a></span>getWeights()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="../../d3/d63/classcv_1_1Mat.html">Mat</a> cv::ml::ANN_MLP::getWeights </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>layerIdx</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml_ANN_MLP.getWeights(</td><td class="paramname">layerIdx</td><td>)</td></tr></table>
</div><div class="memdoc">
</div>
</div>
<a id="ac24cc2e2fc5cd1dd74fd5da31886fbb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac24cc2e2fc5cd1dd74fd5da31886fbb7">◆ </a></span>load()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html">ANN_MLP</a>&gt; cv::ml::ANN_MLP::load </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../dc/d84/group__core__basic.html#ga1f6634802eeadfd7245bc75cf3e216c2">String</a> &amp; </td>
          <td class="paramname"><em>filepath</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>retval</td><td>=</td><td>cv.ml.ANN_MLP_load(</td><td class="paramname">filepath</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Loads and creates a serialized ANN from a file. </p>
<p>Use ANN::save to serialize and store an ANN to disk. Load the ANN from this file again, by calling this function with the path to the file.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">filepath</td><td>path to serialized ANN </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="a16998f97db903c1c652e68f342240524"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a16998f97db903c1c652e68f342240524">◆ </a></span>setActivationFunction()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setActivationFunction </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>param1</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>param2</em> = <code>0</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setActivationFunction(</td><td class="paramname">type[, param1[, param2]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Initialize the activation function for each neuron. Currently the default and the only fully supported activation function is <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0a90410002f1e243d35dca234f859f270e">ANN_MLP::SIGMOID_SYM</a>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The type of activation function. See <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#ade71470ec8814021728f8b31b09773b0">ANN_MLP::ActivationFunctions</a>. </td></tr>
    <tr><td class="paramname">param1</td><td>The first parameter of the activation function, \(\alpha\). Default value is 0. </td></tr>
    <tr><td class="paramname">param2</td><td>The second parameter of the activation function, \(\beta\). Default value is 0. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<a id="a5c1b54d05fc3ac1b167752ed452c0a5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5c1b54d05fc3ac1b167752ed452c0a5e">◆ </a></span>setAnnealCoolingRatio()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setAnnealCoolingRatio </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setAnnealCoolingRatio(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#aa1098cc57b2e764c536bf75d3c21684c">getAnnealCoolingRatio</a> </dd></dl>
</div>
</div>
<a id="a6d7a3a6206a52f1d80268920361ae1b8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d7a3a6206a52f1d80268920361ae1b8">◆ </a></span>setAnnealEnergyRNG()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setAnnealEnergyRNG </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="../../d1/dd6/classcv_1_1RNG.html">RNG</a> &amp; </td>
          <td class="paramname"><em>rng</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Set/initialize anneal <a class="el" href="../../d1/dd6/classcv_1_1RNG.html" title="Random Number Generator. ">RNG</a>. </p>
</div>
</div>
<a id="aa6a0eeeb1725bed54b00882bf535715d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6a0eeeb1725bed54b00882bf535715d">◆ </a></span>setAnnealFinalT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setAnnealFinalT </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setAnnealFinalT(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a73b332c637b3f41bc673366d81218867">getAnnealFinalT</a> </dd></dl>
</div>
</div>
<a id="a4fda01324f3eb715f4c289adb386d875"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fda01324f3eb715f4c289adb386d875">◆ </a></span>setAnnealInitialT()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setAnnealInitialT </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setAnnealInitialT(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a972ecb3136c1db4377bdb310b9ba3245">getAnnealInitialT</a> </dd></dl>
</div>
</div>
<a id="a4ec199a72ea3cf8ea6b35a78afb86414"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ec199a72ea3cf8ea6b35a78afb86414">◆ </a></span>setAnnealItePerStep()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setAnnealItePerStep </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setAnnealItePerStep(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a910e7f7180b02367af5f794c6535c774">getAnnealItePerStep</a> </dd></dl>
</div>
</div>
<a id="a59fd3f49aba9418a96d44998deb68d00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59fd3f49aba9418a96d44998deb68d00">◆ </a></span>setBackpropMomentumScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setBackpropMomentumScale </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setBackpropMomentumScale(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a8a239f6fc2f3af77b5b8af14b85db6c2">getBackpropMomentumScale</a> </dd></dl>
</div>
</div>
<a id="a80a03e3e259441438f7ae3312104161f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80a03e3e259441438f7ae3312104161f">◆ </a></span>setBackpropWeightScale()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setBackpropWeightScale </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setBackpropWeightScale(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a3f3118577f227f7f6ccc9d8c9a0496a4">getBackpropWeightScale</a> </dd></dl>
</div>
</div>
<a id="a79731c3fd3168e28eb3c3bba7a2caa94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a79731c3fd3168e28eb3c3bba7a2caa94">◆ </a></span>setLayerSizes()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setLayerSizes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> </td>
          <td class="paramname"><em>_layer_sizes</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setLayerSizes(</td><td class="paramname">_layer_sizes</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Integer vector specifying the number of neurons in each layer including the input and output layers. The very first element specifies the number of elements in the input layer. The last element - number of elements in the output layer. Default value is empty <a class="el" href="../../d3/d63/classcv_1_1Mat.html" title="n-dimensional dense array class ">Mat</a>. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a6ddeca856c988d91ec7b7209e324e555">getLayerSizes</a> </dd></dl>
</div>
</div>
<a id="ae32498b59f9b8ce5737006ad49ad863e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae32498b59f9b8ce5737006ad49ad863e">◆ </a></span>setRpropDW0()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setRpropDW0 </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setRpropDW0(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#aec1c80229df0d4552c0a922dd2caa935">getRpropDW0</a> </dd></dl>
</div>
</div>
<a id="a09d58b45d950729587577de3a7ed7142"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09d58b45d950729587577de3a7ed7142">◆ </a></span>setRpropDWMax()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setRpropDWMax </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setRpropDWMax(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a73f174d3f24d5715a4db57b23cdc066c">getRpropDWMax</a> </dd></dl>
</div>
</div>
<a id="a2d1c40a8eae6c7ad25554593a11d1e80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d1c40a8eae6c7ad25554593a11d1e80">◆ </a></span>setRpropDWMin()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setRpropDWMin </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setRpropDWMin(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a4c56d0ab068e59e8d7d1ad42a2ce386f">getRpropDWMin</a> </dd></dl>
</div>
</div>
<a id="a65350ee4fbb0e521e3d53dbd3101dadd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65350ee4fbb0e521e3d53dbd3101dadd">◆ </a></span>setRpropDWMinus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setRpropDWMinus </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setRpropDWMinus(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a9db260e1b71d8865d1dd9856ea1b5124">getRpropDWMinus</a> </dd></dl>
</div>
</div>
<a id="a54b72c0446330effe6a003929d4aecbe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54b72c0446330effe6a003929d4aecbe">◆ </a></span>setRpropDWPlus()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setRpropDWPlus </td>
          <td>(</td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setRpropDWPlus(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a71261559e73c1f307310bc5ae6491743">getRpropDWPlus</a> </dd></dl>
</div>
</div>
<a id="ab6310aa2b5894ceb4e72008e62316182"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6310aa2b5894ceb4e72008e62316182">◆ </a></span>setTermCriteria()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setTermCriteria </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../d9/d5d/classcv_1_1TermCriteria.html">TermCriteria</a> </td>
          <td class="paramname"><em>val</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setTermCriteria(</td><td class="paramname">val</td><td>)</td></tr></table>
</div><div class="memdoc">
<p></p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a1d38045b36f3f1363573ad0fd18b82ae">getTermCriteria</a> </dd></dl>
</div>
</div>
<a id="a4be093cfd2e743ee2f41e34e50cf3a54"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4be093cfd2e743ee2f41e34e50cf3a54">◆ </a></span>setTrainMethod()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void cv::ml::ANN_MLP::setTrainMethod </td>
          <td>(</td>
          <td class="paramtype">int </td>
          <td class="paramname"><em>method</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>param1</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double </td>
          <td class="paramname"><em>param2</em> = <code>0</code> </td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table><table class="python_language"><tr><th colspan="999" style="text-align:left">Python:</th></tr><tr><td style="width: 20px;"></td><td>None</td><td>=</td><td>cv.ml_ANN_MLP.setTrainMethod(</td><td class="paramname">method[, param1[, param2]]</td><td>)</td></tr></table>
</div><div class="memdoc">
<p>Sets training method and common parameters. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">method</td><td>Default value is <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aded0d171ce651e6701a3426e192e04c9" title="The RPROP algorithm. See  for details. ">ANN_MLP::RPROP</a>. See <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181">ANN_MLP::TrainingMethods</a>. </td></tr>
    <tr><td class="paramname">param1</td><td>passed to setRpropDW0 for <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aded0d171ce651e6701a3426e192e04c9" title="The RPROP algorithm. See  for details. ">ANN_MLP::RPROP</a> and to setBackpropWeightScale for <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aaca348d78617e21b3fad5cc4c27e7889" title="The back-propagation algorithm. ">ANN_MLP::BACKPROP</a> and to initialT for <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181a1c1f898fdf7406d1f114ddfd8e06ae4e" title="The simulated annealing algorithm. See  for details. ">ANN_MLP::ANNEAL</a>. </td></tr>
    <tr><td class="paramname">param2</td><td>passed to setRpropDWMin for <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aded0d171ce651e6701a3426e192e04c9" title="The RPROP algorithm. See  for details. ">ANN_MLP::RPROP</a> and to setBackpropMomentumScale for <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181aaca348d78617e21b3fad5cc4c27e7889" title="The back-propagation algorithm. ">ANN_MLP::BACKPROP</a> and to finalT for <a class="el" href="../../d0/dce/classcv_1_1ml_1_1ANN__MLP.html#a012b34ee340b5d4d11b6844e12816181a1c1f898fdf7406d1f114ddfd8e06ae4e" title="The simulated annealing algorithm. See  for details. ">ANN_MLP::ANNEAL</a>. </td></tr>
  </table>
  </dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>opencv2/<a class="el" href="../../d3/d29/ml_8hpp.html">ml.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:48 for OpenCV by  <a href="http://www.doxygen.org/index.html">
<img alt="doxygen" class="footer" src="../../doxygen.png"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
